home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 May / EnigmA AMIGA RUN 07 (1996)(G.R. Edizioni)(IT)[!][issue 1996-05][EARSAN CD VI].iso / docs / corsoguide / strutturawindow-15.txt < prev    next >
Text File  |  1992-09-03  |  3KB  |  76 lines

  1. La struttura Window
  2.  
  3.  
  4. Qui di seguito viene descritta la struttura Window con tutti i suoi campi più
  5. importanti:
  6.  
  7. struct Window
  8. {
  9.     struct Window *NextWindow;          /* puntatore alla prossima finestra */
  10.     WORD LeftEdge,TopEdge,Width,Height;
  11.     WORD MouseY,MouseX;
  12.     WORD MinWidth, MinHeight;           /* grandezza minima */
  13.     UWORD MaxWidth, MaxHeight;          /* grandezza massima */
  14.     ULONG Flags;                        /* flags della finestra */
  15.     struct Menu *MenuStrip;             /* puntatore al menù */
  16.     UBYTE *Title;                       /* titolo di questa finestra */
  17.     struct Requester *FirstRequest;     /* puntatore ai Requesters attivi */
  18.     struct Requester *DMRequest;        /* double-click Requester */
  19.     WORD ReqCount;
  20.     struct Screen *WScreen;
  21.     struct RastPort *RPort;
  22.     BYTE BorderLeft,BorderTop,BorderRight,BorderBottom;
  23.     struct RastPort *BorderRPort;
  24.     struct Gadget *FirstGadget;         /* gadgets della finestra */
  25.     struct Window *Parent, *Descendant;
  26.     /* informazioni sullo sprite del puntatore della finestra */
  27.     UWORD *Pointer;                     /* dati dello sprite */
  28.     BYTE PtrHeight;                     /* altezza dello sprite */
  29.     BYTE PtrWidth;                      /* larghezza dello sprite */
  30.     BYTE XOffset, YOffset;              /* offsets dello sprite */
  31.     struct MsgPort *UserPort,*WindowPort; /* porte della finestra */
  32.     struct IntuiMessage *MessageKey;
  33.     UBYTE DetailPen,BlockPen;   /* per la colorazione di bar/border/gadget */
  34.     struct Image *CheckMark;            /* immagine checkmark per i menù */
  35.     UBYTE *ScreenTitle; /* titolo dello schermo quando la finestra è attiva */
  36.     WORD GZZMouseX,GZZMouseY,GZZWidth,GZZHeight;
  37.     UBYTE *ExtData;
  38.     BYTE *UserData;
  39.     struct Layer *WLayer;
  40.     struct TextFont *IFont;
  41.     ULONG MoreFlags;                    /* altri flags (dalla V36) */
  42. };
  43.  
  44. LeftEdge,TopEdge,Width,Height
  45. Queste variabili contengono le attuali informazioni di posizione e dimensione
  46. della finestra
  47.  
  48. MouseX,MouseY,GZZMouseX,GZZMouseY
  49. Indicano la posizione del puntatore del mouse, rispetto all'angolo in alto a
  50. sinistra della finestra; per le finestre GimmeZeroZero le variabili GZZ
  51. indicano la posizione relativa al layer interno (vedere tipi di finestra),
  52. altrimenti indica la posizione relativa all'angolo in alto a sinistra della
  53. finestra dopo il bordo
  54.  
  55. ReqCount
  56. Contiene il numero dei rquesters correntemente visualizzati nella finestra
  57.  
  58. WScreen
  59. Il puntatore allo schermo su cui la finestra è visualizzata
  60.  
  61. RPort
  62. Puntatore alla struttura RastPort della finestra (la struttura RastPort serve
  63. per disegnare e in genere per tutte le operazioni grafiche, vedremo meglio
  64. questo argomento in una delle prossime puntate)
  65.  
  66. BorderLeft,BorderTop,BorderRight,BorderBottom
  67. Indicano l'attuale grandezza dei bordi della finestra (da sinistra, sopra,
  68. destra e sotto)
  69.  
  70. BorderRPort
  71. Con le finestre GimmeZeroZero, indica il puntatore alla RastPort del layer
  72. esterno
  73.  
  74. UserData
  75. Puntatore di utilizzo libero per l'applicazione
  76.